<?php
class TestKM_Contacto extends TestPojos
{
	public function testInstancia()
	{
		$this->assert(($this->crea(null,null,null,null,null) instanceof KM_Contacto), "1. instancia");
	}

	public function testCrea()
	{
		$referencia       = "R012345";
		$email            = "email@email.com";
		$nombre           = "el nombre";
		$mensaje          = "el mensaje";
		$departamento     = KM_Contacto_Constantes::DEPARTAMENTO_ATENCION;
		$instancia        = $this->crea($referencia, $email, $nombre, $mensaje, $departamento);
		$identificador    = $instancia->consolida();

		$referenciaEsperada = KM_Contacto_Constantes::PREFIJO_REFERENCIA;
		$referenciaEsperada.= KM_Contacto_Constantes::SEPARADOR_REFERENCIA;
		$referenciaEsperada.= $identificador;

		$instancia = null;
		$instancia = new KM_Contacto($this->accesoBD, $identificador);
		$control1  = ($referenciaEsperada == $instancia->getPropiedad("referencia"));
		$control2  = ($email              == $instancia->getPropiedad("email"));
		$control3  = ($nombre             == $instancia->getPropiedad("nombre"));
		$control4  = ($mensaje            == $instancia->getPropiedad("mensaje"));
		$control5  = ($departamento       == $instancia->getPropiedad("departamento"));

		$instancia->purga();

		$this->assert($control1, "1) crea");
		$this->assert($control2, "2) crea");
		$this->assert($control3, "3) crea");
		$this->assert($control4, "3) crea");
		$this->assert($control5, "3) crea");
	}

	public function setUp()
	{
		$instancia = new KM_Contacto ($this->accesoBD);
		$instancia->borraTabla();
		$instancia->creaTabla();
	}

	private function crea($referencia, $email, $nombre, $mensaje, $departamento)
	{
		$retorno = new KM_Contacto($this->accesoBD);

		$retorno->setPropiedad("referencia",      $referencia);
		$retorno->setPropiedad("email",           $email);
		$retorno->setPropiedad("nombre",          $nombre);
		$retorno->setPropiedad("mensaje",         $mensaje);
		$retorno->setPropiedad("departamento",    $departamento);
		$retorno->setPropiedad("fecha",           time());

		return $retorno;
	}
}
?>